package com.polaris.live.im.sfs.bean.pusher

/**
 * 用户状态变更事件
 *
 * @author Created by lucas on 2023/10/18 14:36
 * @since 1.0.0
 */
data class UserStateMessage(
    /**
     * 状态
     */
    val state: UserState,
    /**
     * 事件时间
     */
    val timestamp: Long,
)

data class UserState(
    /**
     * 用户id
     */
    val userId: Long,
    /**
     * 是否在线
     */
    val online: Int,
    /**
     * 是否在直播中
     */
    val living: Int? = null,
    /**
     * 直播类型
     */
    val liveType: Int? = null,
    /**
     * 是否在通话中
     */
    val calling: Int? = null,
    /**
     * 通话类型
     */
    val callType: Int? = null,
    /**
     * 最后通话时间
     */
    val lastCallTime: Long? = null,
    /**
     * 游戏座位
     */
    val partyGameSite: Int? = null,
    /**
     * 游戏状态
     */
    val partyGameStatus: Int? = null,
    /**
     * 游戏类型
     */
    val partyGameType: Int? = null,
    /**
     * 是否在游戏
     */
    val partyGaming: Int? = null,
    /**
     * 麦位信息
     */
    val partySite: Int? = null,
    /**
     * 状态banner
     */
    val stateBanner: String? = null,
    /**
     * 游戏名字
     */
    val gameName: String? = null,
    /**
     * 游戏Icon
     */
    val gameIcon: String? = null,
    /**
     * 房间Id
     */
    val roomId: String? = null,
)